{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Chapter 13 – Loading and Preprocessing Data with TensorFlow**\n",
    "\n",
    "_This notebook contains all the sample code and solutions to the exercises in chapter 13._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<table align=\"left\">\n",
    "  <td>\n",
    "    <a href=\"https://colab.research.google.com/github/ageron/handson-ml2/blob/master/13_loading_and_preprocessing_data.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://kaggle.com/kernels/welcome?src=https://github.com/ageron/handson-ml2/blob/master/13_loading_and_preprocessing_data.ipynb\"><img src=\"https://kaggle.com/static/images/open-in-kaggle.svg\" /></a>\n",
    "  </td>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, let's import a few common modules, ensure MatplotLib plots figures inline and prepare a function to save the figures. We also check that Python 3.5 or later is installed (although Python 2.x may work, it is deprecated so we strongly recommend you use Python 3 instead), as well as Scikit-Learn ≥0.20 and TensorFlow ≥2.0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Python ≥3.5 is required\n",
    "import sys\n",
    "assert sys.version_info >= (3, 5)\n",
    "\n",
    "# Is this notebook running on Colab or Kaggle?\n",
    "IS_COLAB = \"google.colab\" in sys.modules\n",
    "IS_KAGGLE = \"kaggle_secrets\" in sys.modules\n",
    "\n",
    "if IS_COLAB or IS_KAGGLE:\n",
    "    %pip install -q -U tfx\n",
    "    print(\"You can safely ignore the package incompatibility errors.\")\n",
    "\n",
    "# Scikit-Learn ≥0.20 is required\n",
    "import sklearn\n",
    "assert sklearn.__version__ >= \"0.20\"\n",
    "\n",
    "# TensorFlow ≥2.0 is required\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "assert tf.__version__ >= \"2.0\"\n",
    "\n",
    "# Common imports\n",
    "import numpy as np\n",
    "import os\n",
    "\n",
    "# to make this notebook's output stable across runs\n",
    "np.random.seed(42)\n",
    "\n",
    "# To plot pretty figures\n",
    "%matplotlib inline\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "mpl.rc('axes', labelsize=14)\n",
    "mpl.rc('xtick', labelsize=12)\n",
    "mpl.rc('ytick', labelsize=12)\n",
    "\n",
    "# Where to save the figures\n",
    "PROJECT_ROOT_DIR = \".\"\n",
    "CHAPTER_ID = \"data\"\n",
    "IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, \"images\", CHAPTER_ID)\n",
    "os.makedirs(IMAGES_PATH, exist_ok=True)\n",
    "\n",
    "def save_fig(fig_id, tight_layout=True, fig_extension=\"png\", resolution=300):\n",
    "    path = os.path.join(IMAGES_PATH, fig_id + \".\" + fig_extension)\n",
    "    print(\"Saving figure\", fig_id)\n",
    "    if tight_layout:\n",
    "        plt.tight_layout()\n",
    "    plt.savefig(path, format=fig_extension, dpi=resolution)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: (), types: tf.int32>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = tf.range(10)\n",
    "dataset = tf.data.Dataset.from_tensor_slices(X)\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Equivalently:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = tf.data.Dataset.range(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(0, shape=(), dtype=int64)\n",
      "tf.Tensor(1, shape=(), dtype=int64)\n",
      "tf.Tensor(2, shape=(), dtype=int64)\n",
      "tf.Tensor(3, shape=(), dtype=int64)\n",
      "tf.Tensor(4, shape=(), dtype=int64)\n",
      "tf.Tensor(5, shape=(), dtype=int64)\n",
      "tf.Tensor(6, shape=(), dtype=int64)\n",
      "tf.Tensor(7, shape=(), dtype=int64)\n",
      "tf.Tensor(8, shape=(), dtype=int64)\n",
      "tf.Tensor(9, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "tags": [
     "raises-exception"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([0 1 2 3 4 5 6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([7 8 9 0 1 2 3], shape=(7,), dtype=int64)\n",
      "tf.Tensor([4 5 6 7 8 9 0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([1 2 3 4 5 6 7], shape=(7,), dtype=int64)\n",
      "tf.Tensor([8 9], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "dataset = dataset.repeat(3).batch(7)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = dataset.map(lambda x: x * 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([ 0  2  4  6  8 10 12], shape=(7,), dtype=int64)\n",
      "tf.Tensor([14 16 18  0  2  4  6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([ 8 10 12 14 16 18  0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([ 2  4  6  8 10 12 14], shape=(7,), dtype=int64)\n",
      "tf.Tensor([16 18], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#dataset = dataset.apply(tf.data.experimental.unbatch()) # Now deprecated\n",
    "dataset = dataset.unbatch()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = dataset.filter(lambda x: x < 10)  # keep only items < 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(0, shape=(), dtype=int64)\n",
      "tf.Tensor(2, shape=(), dtype=int64)\n",
      "tf.Tensor(4, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset.take(3):\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([1 3 0 4 2 5 6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([8 7 1 0 3 2 5], shape=(7,), dtype=int64)\n",
      "tf.Tensor([4 6 9 8 9 7 0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([3 1 4 5 2 8 7], shape=(7,), dtype=int64)\n",
      "tf.Tensor([6 9], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "tf.random.set_seed(42)\n",
    "\n",
    "dataset = tf.data.Dataset.range(10).repeat(3)\n",
    "dataset = dataset.shuffle(buffer_size=3, seed=42).batch(7)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Split the California dataset to multiple CSV files"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's start by loading and preparing the California housing dataset. We first load it, then split it into a training set, a validation set and a test set, and finally we scale it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import fetch_california_housing\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "housing = fetch_california_housing()\n",
    "X_train_full, X_test, y_train_full, y_test = train_test_split(\n",
    "    housing.data, housing.target.reshape(-1, 1), random_state=42)\n",
    "X_train, X_valid, y_train, y_valid = train_test_split(\n",
    "    X_train_full, y_train_full, random_state=42)\n",
    "\n",
    "scaler = StandardScaler()\n",
    "scaler.fit(X_train)\n",
    "X_mean = scaler.mean_\n",
    "X_std = scaler.scale_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a very large dataset that does not fit in memory, you will typically want to split it into many files first, then have TensorFlow read these files in parallel. To demonstrate this, let's start by splitting the housing dataset and save it to 20 CSV files:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def save_to_multiple_csv_files(data, name_prefix, header=None, n_parts=10):\n",
    "    housing_dir = os.path.join(\"datasets\", \"housing\")\n",
    "    os.makedirs(housing_dir, exist_ok=True)\n",
    "    path_format = os.path.join(housing_dir, \"my_{}_{:02d}.csv\")\n",
    "\n",
    "    filepaths = []\n",
    "    m = len(data)\n",
    "    for file_idx, row_indices in enumerate(np.array_split(np.arange(m), n_parts)):\n",
    "        part_csv = path_format.format(name_prefix, file_idx)\n",
    "        filepaths.append(part_csv)\n",
    "        with open(part_csv, \"wt\", encoding=\"utf-8\") as f:\n",
    "            if header is not None:\n",
    "                f.write(header)\n",
    "                f.write(\"\\n\")\n",
    "            for row_idx in row_indices:\n",
    "                f.write(\",\".join([repr(col) for col in data[row_idx]]))\n",
    "                f.write(\"\\n\")\n",
    "    return filepaths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data = np.c_[X_train, y_train]\n",
    "valid_data = np.c_[X_valid, y_valid]\n",
    "test_data = np.c_[X_test, y_test]\n",
    "header_cols = housing.feature_names + [\"MedianHouseValue\"]\n",
    "header = \",\".join(header_cols)\n",
    "\n",
    "train_filepaths = save_to_multiple_csv_files(train_data, \"train\", header, n_parts=20)\n",
    "valid_filepaths = save_to_multiple_csv_files(valid_data, \"valid\", header, n_parts=10)\n",
    "test_filepaths = save_to_multiple_csv_files(test_data, \"test\", header, n_parts=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Okay, now let's take a peek at the first few lines of one of these CSV files:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MedInc</th>\n",
       "      <th>HouseAge</th>\n",
       "      <th>AveRooms</th>\n",
       "      <th>AveBedrms</th>\n",
       "      <th>Population</th>\n",
       "      <th>AveOccup</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Longitude</th>\n",
       "      <th>MedianHouseValue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.5214</td>\n",
       "      <td>15.0</td>\n",
       "      <td>3.049945</td>\n",
       "      <td>1.106548</td>\n",
       "      <td>1447.0</td>\n",
       "      <td>1.605993</td>\n",
       "      <td>37.63</td>\n",
       "      <td>-122.43</td>\n",
       "      <td>1.442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.3275</td>\n",
       "      <td>5.0</td>\n",
       "      <td>6.490060</td>\n",
       "      <td>0.991054</td>\n",
       "      <td>3464.0</td>\n",
       "      <td>3.443340</td>\n",
       "      <td>33.69</td>\n",
       "      <td>-117.39</td>\n",
       "      <td>1.687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.1000</td>\n",
       "      <td>29.0</td>\n",
       "      <td>7.542373</td>\n",
       "      <td>1.591525</td>\n",
       "      <td>1328.0</td>\n",
       "      <td>2.250847</td>\n",
       "      <td>38.44</td>\n",
       "      <td>-122.98</td>\n",
       "      <td>1.621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7.1736</td>\n",
       "      <td>12.0</td>\n",
       "      <td>6.289003</td>\n",
       "      <td>0.997442</td>\n",
       "      <td>1054.0</td>\n",
       "      <td>2.695652</td>\n",
       "      <td>33.55</td>\n",
       "      <td>-117.70</td>\n",
       "      <td>2.621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.0549</td>\n",
       "      <td>13.0</td>\n",
       "      <td>5.312457</td>\n",
       "      <td>1.085092</td>\n",
       "      <td>3297.0</td>\n",
       "      <td>2.244384</td>\n",
       "      <td>33.93</td>\n",
       "      <td>-116.93</td>\n",
       "      <td>0.956</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   MedInc  HouseAge  AveRooms  AveBedrms  Population  AveOccup  Latitude  \\\n",
       "0  3.5214      15.0  3.049945   1.106548      1447.0  1.605993     37.63   \n",
       "1  5.3275       5.0  6.490060   0.991054      3464.0  3.443340     33.69   \n",
       "2  3.1000      29.0  7.542373   1.591525      1328.0  2.250847     38.44   \n",
       "3  7.1736      12.0  6.289003   0.997442      1054.0  2.695652     33.55   \n",
       "4  2.0549      13.0  5.312457   1.085092      3297.0  2.244384     33.93   \n",
       "\n",
       "   Longitude  MedianHouseValue  \n",
       "0    -122.43             1.442  \n",
       "1    -117.39             1.687  \n",
       "2    -122.98             1.621  \n",
       "3    -117.70             2.621  \n",
       "4    -116.93             0.956  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "pd.read_csv(train_filepaths[0]).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or in text mode:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MedInc,HouseAge,AveRooms,AveBedrms,Population,AveOccup,Latitude,Longitude,MedianHouseValue\n",
      "3.5214,15.0,3.0499445061043287,1.106548279689234,1447.0,1.6059933407325193,37.63,-122.43,1.442\n",
      "5.3275,5.0,6.490059642147117,0.9910536779324056,3464.0,3.4433399602385686,33.69,-117.39,1.687\n",
      "3.1,29.0,7.5423728813559325,1.5915254237288134,1328.0,2.2508474576271187,38.44,-122.98,1.621\n",
      "7.1736,12.0,6.289002557544757,0.9974424552429667,1054.0,2.6956521739130435,33.55,-117.7,2.621\n"
     ]
    }
   ],
   "source": [
    "with open(train_filepaths[0]) as f:\n",
    "    for i in range(5):\n",
    "        print(f.readline(), end=\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['datasets/housing/my_train_00.csv',\n",
       " 'datasets/housing/my_train_01.csv',\n",
       " 'datasets/housing/my_train_02.csv',\n",
       " 'datasets/housing/my_train_03.csv',\n",
       " 'datasets/housing/my_train_04.csv',\n",
       " 'datasets/housing/my_train_05.csv',\n",
       " 'datasets/housing/my_train_06.csv',\n",
       " 'datasets/housing/my_train_07.csv',\n",
       " 'datasets/housing/my_train_08.csv',\n",
       " 'datasets/housing/my_train_09.csv',\n",
       " 'datasets/housing/my_train_10.csv',\n",
       " 'datasets/housing/my_train_11.csv',\n",
       " 'datasets/housing/my_train_12.csv',\n",
       " 'datasets/housing/my_train_13.csv',\n",
       " 'datasets/housing/my_train_14.csv',\n",
       " 'datasets/housing/my_train_15.csv',\n",
       " 'datasets/housing/my_train_16.csv',\n",
       " 'datasets/housing/my_train_17.csv',\n",
       " 'datasets/housing/my_train_18.csv',\n",
       " 'datasets/housing/my_train_19.csv']"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_filepaths"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building an Input Pipeline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "filepath_dataset = tf.data.Dataset.list_files(train_filepaths, seed=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'datasets/housing/my_train_15.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_08.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_03.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_01.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_10.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_05.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_19.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_16.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_02.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_09.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_00.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_07.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_12.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_04.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_17.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_11.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_14.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_18.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_06.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_13.csv', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "for filepath in filepath_dataset:\n",
    "    print(filepath)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_readers = 5\n",
    "dataset = filepath_dataset.interleave(\n",
    "    lambda filepath: tf.data.TextLineDataset(filepath).skip(1),\n",
    "    cycle_length=n_readers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'4.6477,38.0,5.03728813559322,0.911864406779661,745.0,2.5254237288135593,32.64,-117.07,1.504'\n",
      "b'8.72,44.0,6.163179916317992,1.0460251046025104,668.0,2.794979079497908,34.2,-118.18,4.159'\n",
      "b'3.8456,35.0,5.461346633416459,0.9576059850374065,1154.0,2.8778054862842892,37.96,-122.05,1.598'\n",
      "b'3.3456,37.0,4.514084507042254,0.9084507042253521,458.0,3.2253521126760565,36.67,-121.7,2.526'\n",
      "b'3.6875,44.0,4.524475524475524,0.993006993006993,457.0,3.195804195804196,34.04,-118.15,1.625'\n"
     ]
    }
   ],
   "source": [
    "for line in dataset.take(5):\n",
    "    print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that field 4 is interpreted as a string."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(), dtype=int32, numpy=1>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=2.0>,\n",
       " <tf.Tensor: shape=(), dtype=float64, numpy=3.0>,\n",
       " <tf.Tensor: shape=(), dtype=string, numpy=b'4'>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=5.0>]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "record_defaults=[0, np.nan, tf.constant(np.nan, dtype=tf.float64), \"Hello\", tf.constant([])]\n",
    "parsed_fields = tf.io.decode_csv('1,2,3,4,5', record_defaults)\n",
    "parsed_fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that all missing fields are replaced with their default value, when provided:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(), dtype=int32, numpy=0>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=nan>,\n",
       " <tf.Tensor: shape=(), dtype=float64, numpy=nan>,\n",
       " <tf.Tensor: shape=(), dtype=string, numpy=b'Hello'>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=5.0>]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_fields = tf.io.decode_csv(',,,,5', record_defaults)\n",
    "parsed_fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The 5th field is compulsory (since we provided `tf.constant([])` as the \"default value\"), so we get an exception if we do not provide it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Field 4 is required but missing in record 0! [Op:DecodeCSV]\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    parsed_fields = tf.io.decode_csv(',,,,', record_defaults)\n",
    "except tf.errors.InvalidArgumentError as ex:\n",
    "    print(ex)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The number of fields should match exactly the number of fields in the `record_defaults`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Expect 5 fields but have 7 in record 0 [Op:DecodeCSV]\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    parsed_fields = tf.io.decode_csv('1,2,3,4,5,6,7', record_defaults)\n",
    "except tf.errors.InvalidArgumentError as ex:\n",
    "    print(ex)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_inputs = 8 # X_train.shape[-1]\n",
    "\n",
    "@tf.function\n",
    "def preprocess(line):\n",
    "    defs = [0.] * n_inputs + [tf.constant([], dtype=tf.float32)]\n",
    "    fields = tf.io.decode_csv(line, record_defaults=defs)\n",
    "    x = tf.stack(fields[:-1])\n",
    "    y = tf.stack(fields[-1:])\n",
    "    return (x - X_mean) / X_std, y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(<tf.Tensor: shape=(8,), dtype=float32, numpy=\n",
       " array([ 0.16579157,  1.216324  , -0.05204565, -0.39215982, -0.5277444 ,\n",
       "        -0.2633488 ,  0.8543046 , -1.3072058 ], dtype=float32)>,\n",
       " <tf.Tensor: shape=(1,), dtype=float32, numpy=array([2.782], dtype=float32)>)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preprocess(b'4.2083,44.0,5.3232,0.9171,846.0,2.3370,37.47,-122.2,2.782')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "def csv_reader_dataset(filepaths, repeat=1, n_readers=5,\n",
    "                       n_read_threads=None, shuffle_buffer_size=10000,\n",
    "                       n_parse_threads=5, batch_size=32):\n",
    "    dataset = tf.data.Dataset.list_files(filepaths).repeat(repeat)\n",
    "    dataset = dataset.interleave(\n",
    "        lambda filepath: tf.data.TextLineDataset(filepath).skip(1),\n",
    "        cycle_length=n_readers, num_parallel_calls=n_read_threads)\n",
    "    dataset = dataset.shuffle(shuffle_buffer_size)\n",
    "    dataset = dataset.map(preprocess, num_parallel_calls=n_parse_threads)\n",
    "    dataset = dataset.batch(batch_size)\n",
    "    return dataset.prefetch(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X = tf.Tensor(\n",
      "[[ 0.5804519  -0.20762321  0.05616303 -0.15191229  0.01343246  0.00604472\n",
      "   1.2525111  -1.3671792 ]\n",
      " [ 5.818099    1.8491895   1.1784915   0.28173092 -1.2496178  -0.3571987\n",
      "   0.7231292  -1.0023477 ]\n",
      " [-0.9253566   0.5834586  -0.7807257  -0.28213993 -0.36530012  0.27389365\n",
      "  -0.76194876  0.72684526]], shape=(3, 8), dtype=float32)\n",
      "y = tf.Tensor(\n",
      "[[1.752]\n",
      " [1.313]\n",
      " [1.535]], shape=(3, 1), dtype=float32)\n",
      "\n",
      "X = tf.Tensor(\n",
      "[[-0.8324941   0.6625668  -0.20741376 -0.18699841 -0.14536144  0.09635526\n",
      "   0.9807942  -0.67250353]\n",
      " [-0.62183803  0.5834586  -0.19862501 -0.3500319  -1.1437552  -0.3363751\n",
      "   1.107282   -0.8674123 ]\n",
      " [ 0.8683102   0.02970133  0.3427381  -0.29872298  0.7124906   0.28026953\n",
      "  -0.72915536  0.86178064]], shape=(3, 8), dtype=float32)\n",
      "y = tf.Tensor(\n",
      "[[0.919]\n",
      " [1.028]\n",
      " [2.182]], shape=(3, 1), dtype=float32)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "tf.random.set_seed(42)\n",
    "\n",
    "train_set = csv_reader_dataset(train_filepaths, batch_size=3)\n",
    "for X_batch, y_batch in train_set.take(2):\n",
    "    print(\"X =\", X_batch)\n",
    "    print(\"y =\", y_batch)\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = csv_reader_dataset(train_filepaths, repeat=None)\n",
    "valid_set = csv_reader_dataset(valid_filepaths)\n",
    "test_set = csv_reader_dataset(test_filepaths)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.Dense(30, activation=\"relu\", input_shape=X_train.shape[1:]),\n",
    "    keras.layers.Dense(1),\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(loss=\"mse\", optimizer=keras.optimizers.SGD(learning_rate=1e-3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10\n",
      "362/362 [==============================] - 1s 3ms/step - loss: 2.0914 - val_loss: 21.5124\n",
      "Epoch 2/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.8428 - val_loss: 0.6648\n",
      "Epoch 3/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.6329 - val_loss: 0.6196\n",
      "Epoch 4/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5922 - val_loss: 0.5669\n",
      "Epoch 5/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5622 - val_loss: 0.5402\n",
      "Epoch 6/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5698 - val_loss: 0.5209\n",
      "Epoch 7/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5195 - val_loss: 0.6130\n",
      "Epoch 8/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5155 - val_loss: 0.4818\n",
      "Epoch 9/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.4965 - val_loss: 0.4904\n",
      "Epoch 10/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.4925 - val_loss: 0.4585\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd68051ec50>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batch_size = 32\n",
    "model.fit(train_set, steps_per_epoch=len(X_train) // batch_size, epochs=10,\n",
    "          validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "161/161 [==============================] - 0s 589us/step - loss: 0.4788\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.4787752032279968"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate(test_set, steps=len(X_test) // batch_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[2.3576407],\n",
       "       [2.255291 ],\n",
       "       [1.4437605],\n",
       "       ...,\n",
       "       [0.5654393],\n",
       "       [3.9442453],\n",
       "       [1.0232248]], dtype=float32)"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_set = test_set.map(lambda X, y: X) # we could instead just pass test_set, Keras would ignore the labels\n",
    "X_new = X_test\n",
    "model.predict(new_set, steps=len(X_new) // batch_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global step 1810/1810"
     ]
    }
   ],
   "source": [
    "optimizer = keras.optimizers.Nadam(learning_rate=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "n_epochs = 5\n",
    "batch_size = 32\n",
    "n_steps_per_epoch = len(X_train) // batch_size\n",
    "total_steps = n_epochs * n_steps_per_epoch\n",
    "global_step = 0\n",
    "for X_batch, y_batch in train_set.take(total_steps):\n",
    "    global_step += 1\n",
    "    print(\"\\rGlobal step {}/{}\".format(global_step, total_steps), end=\"\")\n",
    "    with tf.GradientTape() as tape:\n",
    "        y_pred = model(X_batch)\n",
    "        main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "        loss = tf.add_n([main_loss] + model.losses)\n",
    "    gradients = tape.gradient(loss, model.trainable_variables)\n",
    "    optimizer.apply_gradients(zip(gradients, model.trainable_variables))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "optimizer = keras.optimizers.Nadam(learning_rate=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "@tf.function\n",
    "def train(model, n_epochs, batch_size=32,\n",
    "          n_readers=5, n_read_threads=5, shuffle_buffer_size=10000, n_parse_threads=5):\n",
    "    train_set = csv_reader_dataset(train_filepaths, repeat=n_epochs, n_readers=n_readers,\n",
    "                       n_read_threads=n_read_threads, shuffle_buffer_size=shuffle_buffer_size,\n",
    "                       n_parse_threads=n_parse_threads, batch_size=batch_size)\n",
    "    for X_batch, y_batch in train_set:\n",
    "        with tf.GradientTape() as tape:\n",
    "            y_pred = model(X_batch)\n",
    "            main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "            loss = tf.add_n([main_loss] + model.losses)\n",
    "        gradients = tape.gradient(loss, model.trainable_variables)\n",
    "        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n",
    "\n",
    "train(model, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global step 100 / 1810\n",
      "Global step 200 / 1810\n",
      "Global step 300 / 1810\n",
      "Global step 400 / 1810\n",
      "Global step 500 / 1810\n",
      "Global step 600 / 1810\n",
      "Global step 700 / 1810\n",
      "Global step 800 / 1810\n",
      "Global step 900 / 1810\n",
      "Global step 1000 / 1810\n",
      "Global step 1100 / 1810\n",
      "Global step 1200 / 1810\n",
      "Global step 1300 / 1810\n",
      "Global step 1400 / 1810\n",
      "Global step 1500 / 1810\n",
      "Global step 1600 / 1810\n",
      "Global step 1700 / 1810\n",
      "Global step 1800 / 1810\n"
     ]
    }
   ],
   "source": [
    "optimizer = keras.optimizers.Nadam(learning_rate=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "@tf.function\n",
    "def train(model, n_epochs, batch_size=32,\n",
    "          n_readers=5, n_read_threads=5, shuffle_buffer_size=10000, n_parse_threads=5):\n",
    "    train_set = csv_reader_dataset(train_filepaths, repeat=n_epochs, n_readers=n_readers,\n",
    "                       n_read_threads=n_read_threads, shuffle_buffer_size=shuffle_buffer_size,\n",
    "                       n_parse_threads=n_parse_threads, batch_size=batch_size)\n",
    "    n_steps_per_epoch = len(X_train) // batch_size\n",
    "    total_steps = n_epochs * n_steps_per_epoch\n",
    "    global_step = 0\n",
    "    for X_batch, y_batch in train_set.take(total_steps):\n",
    "        global_step += 1\n",
    "        if tf.equal(global_step % 100, 0):\n",
    "            tf.print(\"\\rGlobal step\", global_step, \"/\", total_steps)\n",
    "        with tf.GradientTape() as tape:\n",
    "            y_pred = model(X_batch)\n",
    "            main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "            loss = tf.add_n([main_loss] + model.losses)\n",
    "        gradients = tape.gradient(loss, model.trainable_variables)\n",
    "        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n",
    "\n",
    "train(model, 5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is a short description of each method in the `Dataset` class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "● apply()              Applies a transformation function to this dataset.\n",
      "● as_numpy_iterator()  Returns an iterator which converts all elements of the dataset to numpy.\n",
      "● batch()              Combines consecutive elements of this dataset into batches.\n",
      "● cache()              Caches the elements in this dataset.\n",
      "● cardinality()        Returns the cardinality of the dataset, if known.\n",
      "● concatenate()        Creates a `Dataset` by concatenating the given dataset with this dataset.\n",
      "● element_spec()       The type specification of an element of this dataset.\n",
      "● enumerate()          Enumerates the elements of this dataset.\n",
      "● filter()             Filters this dataset according to `predicate`.\n",
      "● flat_map()           Maps `map_func` across this dataset and flattens the result.\n",
      "● from_generator()     Creates a `Dataset` whose elements are generated by `generator`. (deprecated arguments)\n",
      "● from_tensor_slices() Creates a `Dataset` whose elements are slices of the given tensors.\n",
      "● from_tensors()       Creates a `Dataset` with a single element, comprising the given tensors.\n",
      "● interleave()         Maps `map_func` across this dataset, and interleaves the results.\n",
      "● list_files()         A dataset of all files matching one or more glob patterns.\n",
      "● map()                Maps `map_func` across the elements of this dataset.\n",
      "● options()            Returns the options for this dataset and its inputs.\n",
      "● padded_batch()       Combines consecutive elements of this dataset into padded batches.\n",
      "● prefetch()           Creates a `Dataset` that prefetches elements from this dataset.\n",
      "● range()              Creates a `Dataset` of a step-separated range of values.\n",
      "● reduce()             Reduces the input dataset to a single element.\n",
      "● repeat()             Repeats this dataset so each original value is seen `count` times.\n",
      "● shard()              Creates a `Dataset` that includes only 1/`num_shards` of this dataset.\n",
      "● shuffle()            Randomly shuffles the elements of this dataset.\n",
      "● skip()               Creates a `Dataset` that skips `count` elements from this dataset.\n",
      "● take()               Creates a `Dataset` with at most `count` elements from this dataset.\n",
      "● unbatch()            Splits elements of a dataset into multiple elements.\n",
      "● window()             Combines (nests of) input elements into a dataset of (nests of) windows.\n",
      "● with_options()       Returns a new `tf.data.Dataset` with the given options set.\n",
      "● zip()                Creates a `Dataset` by zipping together the given datasets.\n"
     ]
    }
   ],
   "source": [
    "for m in dir(tf.data.Dataset):\n",
    "    if not (m.startswith(\"_\") or m.endswith(\"_\")):\n",
    "        func = getattr(tf.data.Dataset, m)\n",
    "        if hasattr(func, \"__doc__\"):\n",
    "            print(\"● {:21s}{}\".format(m + \"()\", func.__doc__.split(\"\\n\")[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The `TFRecord` binary format"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A TFRecord file is just a list of binary records. You can create one using a `tf.io.TFRecordWriter`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "with tf.io.TFRecordWriter(\"my_data.tfrecord\") as f:\n",
    "    f.write(b\"This is the first record\")\n",
    "    f.write(b\"And this is the second record\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And you can read it using a `tf.data.TFRecordDataset`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'This is the first record', shape=(), dtype=string)\n",
      "tf.Tensor(b'And this is the second record', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "filepaths = [\"my_data.tfrecord\"]\n",
    "dataset = tf.data.TFRecordDataset(filepaths)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can read multiple TFRecord files with just one `TFRecordDataset`. By default it will read them one at a time, but if you set `num_parallel_reads=3`, it will read 3 at a time in parallel and interleave their records:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'File 0 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 0 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 0 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 2', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "filepaths = [\"my_test_{}.tfrecord\".format(i) for i in range(5)]\n",
    "for i, filepath in enumerate(filepaths):\n",
    "    with tf.io.TFRecordWriter(filepath) as f:\n",
    "        for j in range(3):\n",
    "            f.write(\"File {} record {}\".format(i, j).encode(\"utf-8\"))\n",
    "\n",
    "dataset = tf.data.TFRecordDataset(filepaths, num_parallel_reads=3)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "options = tf.io.TFRecordOptions(compression_type=\"GZIP\")\n",
    "with tf.io.TFRecordWriter(\"my_compressed.tfrecord\", options) as f:\n",
    "    f.write(b\"This is the first record\")\n",
    "    f.write(b\"And this is the second record\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'This is the first record', shape=(), dtype=string)\n",
      "tf.Tensor(b'And this is the second record', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "dataset = tf.data.TFRecordDataset([\"my_compressed.tfrecord\"],\n",
    "                                  compression_type=\"GZIP\")\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A Brief Intro to Protocol Buffers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this section you need to [install protobuf](https://developers.google.com/protocol-buffers/docs/downloads). In general you will not have to do so when using TensorFlow, as it comes with functions to create and parse protocol buffers of type `tf.train.Example`, which are generally sufficient. However, in this section we will learn about protocol buffers by creating our own simple protobuf definition, so we need the protobuf compiler (`protoc`): we will use it to compile the protobuf definition to a Python module that we can then use in our code."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First let's write a simple protobuf definition:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overwriting person.proto\n"
     ]
    }
   ],
   "source": [
    "%%writefile person.proto\n",
    "syntax = \"proto3\";\n",
    "message Person {\n",
    "  string name = 1;\n",
    "  int32 id = 2;\n",
    "  repeated string email = 3;\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And let's compile it (the `--descriptor_set_out` and `--include_imports` options are only required for the `tf.io.decode_proto()` example below):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "!protoc person.proto --python_out=. --descriptor_set_out=person.desc --include_imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "person.desc   person.proto  person_pb2.py\n"
     ]
    }
   ],
   "source": [
    "!ls person*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "name: \"Al\"\n",
      "id: 123\n",
      "email: \"a@b.com\"\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from person_pb2 import Person\n",
    "\n",
    "person = Person(name=\"Al\", id=123, email=[\"a@b.com\"])  # create a Person\n",
    "print(person)  # display the Person"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Al'"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person.name  # read a field"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "person.name = \"Alice\"  # modify a field"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'a@b.com'"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person.email[0]  # repeated fields can be accessed like arrays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "person.email.append(\"c@d.com\")  # add an email address"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'\\n\\x05Alice\\x10{\\x1a\\x07a@b.com\\x1a\\x07c@d.com'"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s = person.SerializeToString()  # serialize to a byte string\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "27"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person2 = Person()  # create a new Person\n",
    "person2.ParseFromString(s)  # parse the byte string (27 bytes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person == person2  # now they are equal"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Custom protobuf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In rare cases, you may want to parse a custom protobuf (like the one we just created) in TensorFlow. For this you can use the `tf.io.decode_proto()` function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(1,), dtype=string, numpy=array([b'Alice'], dtype=object)>,\n",
       " <tf.Tensor: shape=(1,), dtype=int32, numpy=array([123], dtype=int32)>,\n",
       " <tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>]"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person_tf = tf.io.decode_proto(\n",
    "    bytes=s,\n",
    "    message_type=\"Person\",\n",
    "    field_names=[\"name\", \"id\", \"email\"],\n",
    "    output_types=[tf.string, tf.int32, tf.string],\n",
    "    descriptor_source=\"person.desc\")\n",
    "\n",
    "person_tf.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For more details, see the [`tf.io.decode_proto()`](https://www.tensorflow.org/api_docs/python/tf/io/decode_proto) documentation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### TensorFlow Protobufs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is the definition of the tf.train.Example protobuf:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```proto\n",
    "syntax = \"proto3\";\n",
    "\n",
    "message BytesList { repeated bytes value = 1; }\n",
    "message FloatList { repeated float value = 1 [packed = true]; }\n",
    "message Int64List { repeated int64 value = 1 [packed = true]; }\n",
    "message Feature {\n",
    "    oneof kind {\n",
    "        BytesList bytes_list = 1;\n",
    "        FloatList float_list = 2;\n",
    "        Int64List int64_list = 3;\n",
    "    }\n",
    "};\n",
    "message Features { map<string, Feature> feature = 1; };\n",
    "message Example { Features features = 1; };\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: in TensorFlow 2.0 and 2.1, there was a bug preventing `from tensorflow.train import X` so we work around it by writing `X = tf.train.X`. See https://github.com/tensorflow/tensorflow/issues/33289 for more details."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from tensorflow.train import BytesList, FloatList, Int64List\n",
    "#from tensorflow.train import Feature, Features, Example\n",
    "BytesList = tf.train.BytesList\n",
    "FloatList = tf.train.FloatList\n",
    "Int64List = tf.train.Int64List\n",
    "Feature = tf.train.Feature\n",
    "Features = tf.train.Features\n",
    "Example = tf.train.Example\n",
    "\n",
    "person_example = Example(\n",
    "    features=Features(\n",
    "        feature={\n",
    "            \"name\": Feature(bytes_list=BytesList(value=[b\"Alice\"])),\n",
    "            \"id\": Feature(int64_list=Int64List(value=[123])),\n",
    "            \"emails\": Feature(bytes_list=BytesList(value=[b\"a@b.com\", b\"c@d.com\"]))\n",
    "        }))\n",
    "\n",
    "with tf.io.TFRecordWriter(\"my_contacts.tfrecord\") as f:\n",
    "    f.write(person_example.SerializeToString())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature_description = {\n",
    "    \"name\": tf.io.FixedLenFeature([], tf.string, default_value=\"\"),\n",
    "    \"id\": tf.io.FixedLenFeature([], tf.int64, default_value=0),\n",
    "    \"emails\": tf.io.VarLenFeature(tf.string),\n",
    "}\n",
    "for serialized_example in tf.data.TFRecordDataset([\"my_contacts.tfrecord\"]):\n",
    "    parsed_example = tf.io.parse_single_example(serialized_example,\n",
    "                                                feature_description)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'emails': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd640710890>,\n",
       " 'id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'name': <tf.Tensor: shape=(), dtype=string, numpy=b'Alice'>}"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'emails': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd640710890>,\n",
       " 'id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'name': <tf.Tensor: shape=(), dtype=string, numpy=b'Alice'>}"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(), dtype=string, numpy=b'a@b.com'>"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example[\"emails\"].values[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.sparse.to_dense(parsed_example[\"emails\"], default_value=b\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example[\"emails\"].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Putting Images in TFRecords"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import load_sample_images\n",
    "\n",
    "img = load_sample_images()[\"images\"][0]\n",
    "plt.imshow(img)\n",
    "plt.axis(\"off\")\n",
    "plt.title(\"Original Image\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = tf.io.encode_jpeg(img)\n",
    "example_with_image = Example(features=Features(feature={\n",
    "    \"image\": Feature(bytes_list=BytesList(value=[data.numpy()]))}))\n",
    "serialized_example = example_with_image.SerializeToString()\n",
    "# then save to TFRecord"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature_description = { \"image\": tf.io.VarLenFeature(tf.string) }\n",
    "example_with_image = tf.io.parse_single_example(serialized_example, feature_description)\n",
    "decoded_img = tf.io.decode_jpeg(example_with_image[\"image\"].values[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or use `decode_image()` which supports BMP, GIF, JPEG and PNG formats:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "decoded_img = tf.io.decode_image(example_with_image[\"image\"].values[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(decoded_img)\n",
    "plt.title(\"Decoded Image\")\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Putting Tensors and Sparse Tensors in TFRecords"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Tensors can be serialized and parsed easily using `tf.io.serialize_tensor()` and `tf.io.parse_tensor()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(), dtype=string, numpy=b'\\x08\\x01\\x12\\x08\\x12\\x02\\x08\\x03\\x12\\x02\\x08\\x02\"\\x18\\x00\\x00\\x00\\x00\\x00\\x00\\x80?\\x00\\x00\\x00@\\x00\\x00@@\\x00\\x00\\x80@\\x00\\x00\\xa0@'>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = tf.constant([[0., 1.], [2., 3.], [4., 5.]])\n",
    "s = tf.io.serialize_tensor(t)\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3, 2), dtype=float32, numpy=\n",
       "array([[0., 1.],\n",
       "       [2., 3.],\n",
       "       [4., 5.]], dtype=float32)>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.io.parse_tensor(s, out_type=tf.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3,), dtype=string, numpy=\n",
       "array([b'\\x08\\t\\x12\\x08\\x12\\x02\\x08\\x02\\x12\\x02\\x08\\x01\"\\x10\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00',\n",
       "       b'\\x08\\x07\\x12\\x04\\x12\\x02\\x08\\x02\"\\x10\\x07\\x07a@b.comc@d.com',\n",
       "       b'\\x08\\t\\x12\\x04\\x12\\x02\\x08\\x01\"\\x08\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00'],\n",
       "      dtype=object)>"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "serialized_sparse = tf.io.serialize_sparse(parsed_example[\"emails\"])\n",
    "serialized_sparse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "value: \"\\010\\t\\022\\010\\022\\002\\010\\002\\022\\002\\010\\001\\\"\\020\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\000\\000\"\n",
       "value: \"\\010\\007\\022\\004\\022\\002\\010\\002\\\"\\020\\007\\007a@b.comc@d.com\"\n",
       "value: \"\\010\\t\\022\\004\\022\\002\\010\\001\\\"\\010\\002\\000\\000\\000\\000\\000\\000\\000\""
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "BytesList(value=serialized_sparse.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = tf.data.TFRecordDataset([\"my_contacts.tfrecord\"]).batch(10)\n",
    "for serialized_examples in dataset:\n",
    "    parsed_examples = tf.io.parse_example(serialized_examples,\n",
    "                                          feature_description)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'image': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd6406f5d50>}"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_examples"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Handling Sequential Data Using `SequenceExample`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```proto\n",
    "syntax = \"proto3\";\n",
    "\n",
    "message FeatureList { repeated Feature feature = 1; };\n",
    "message FeatureLists { map<string, FeatureList> feature_list = 1; };\n",
    "message SequenceExample {\n",
    "  Features context = 1;\n",
    "  FeatureLists feature_lists = 2;\n",
    "};\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: in TensorFlow 2.0 and 2.1, there was a bug preventing `from tensorflow.train import X` so we work around it by writing `X = tf.train.X`. See https://github.com/tensorflow/tensorflow/issues/33289 for more details."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from tensorflow.train import FeatureList, FeatureLists, SequenceExample\n",
    "FeatureList = tf.train.FeatureList\n",
    "FeatureLists = tf.train.FeatureLists\n",
    "SequenceExample = tf.train.SequenceExample\n",
    "\n",
    "context = Features(feature={\n",
    "    \"author_id\": Feature(int64_list=Int64List(value=[123])),\n",
    "    \"title\": Feature(bytes_list=BytesList(value=[b\"A\", b\"desert\", b\"place\", b\".\"])),\n",
    "    \"pub_date\": Feature(int64_list=Int64List(value=[1623, 12, 25]))\n",
    "})\n",
    "\n",
    "content = [[\"When\", \"shall\", \"we\", \"three\", \"meet\", \"again\", \"?\"],\n",
    "           [\"In\", \"thunder\", \",\", \"lightning\", \",\", \"or\", \"in\", \"rain\", \"?\"]]\n",
    "comments = [[\"When\", \"the\", \"hurlyburly\", \"'s\", \"done\", \".\"],\n",
    "            [\"When\", \"the\", \"battle\", \"'s\", \"lost\", \"and\", \"won\", \".\"]]\n",
    "\n",
    "def words_to_feature(words):\n",
    "    return Feature(bytes_list=BytesList(value=[word.encode(\"utf-8\")\n",
    "                                               for word in words]))\n",
    "\n",
    "content_features = [words_to_feature(sentence) for sentence in content]\n",
    "comments_features = [words_to_feature(comment) for comment in comments]\n",
    "            \n",
    "sequence_example = SequenceExample(\n",
    "    context=context,\n",
    "    feature_lists=FeatureLists(feature_list={\n",
    "        \"content\": FeatureList(feature=content_features),\n",
    "        \"comments\": FeatureList(feature=comments_features)\n",
    "    }))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "context {\n",
       "  feature {\n",
       "    key: \"author_id\"\n",
       "    value {\n",
       "      int64_list {\n",
       "        value: 123\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature {\n",
       "    key: \"pub_date\"\n",
       "    value {\n",
       "      int64_list {\n",
       "        value: 1623\n",
       "        value: 12\n",
       "        value: 25\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature {\n",
       "    key: \"title\"\n",
       "    value {\n",
       "      bytes_list {\n",
       "        value: \"A\"\n",
       "        value: \"desert\"\n",
       "        value: \"place\"\n",
       "        value: \".\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "feature_lists {\n",
       "  feature_list {\n",
       "    key: \"comments\"\n",
       "    value {\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"the\"\n",
       "          value: \"hurlyburly\"\n",
       "          value: \"\\'s\"\n",
       "          value: \"done\"\n",
       "          value: \".\"\n",
       "        }\n",
       "      }\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"the\"\n",
       "          value: \"battle\"\n",
       "          value: \"\\'s\"\n",
       "          value: \"lost\"\n",
       "          value: \"and\"\n",
       "          value: \"won\"\n",
       "          value: \".\"\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature_list {\n",
       "    key: \"content\"\n",
       "    value {\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"shall\"\n",
       "          value: \"we\"\n",
       "          value: \"three\"\n",
       "          value: \"meet\"\n",
       "          value: \"again\"\n",
       "          value: \"?\"\n",
       "        }\n",
       "      }\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"In\"\n",
       "          value: \"thunder\"\n",
       "          value: \",\"\n",
       "          value: \"lightning\"\n",
       "          value: \",\"\n",
       "          value: \"or\"\n",
       "          value: \"in\"\n",
       "          value: \"rain\"\n",
       "          value: \"?\"\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sequence_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "serialized_sequence_example = sequence_example.SerializeToString()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "context_feature_descriptions = {\n",
    "    \"author_id\": tf.io.FixedLenFeature([], tf.int64, default_value=0),\n",
    "    \"title\": tf.io.VarLenFeature(tf.string),\n",
    "    \"pub_date\": tf.io.FixedLenFeature([3], tf.int64, default_value=[0, 0, 0]),\n",
    "}\n",
    "sequence_feature_descriptions = {\n",
    "    \"content\": tf.io.VarLenFeature(tf.string),\n",
    "    \"comments\": tf.io.VarLenFeature(tf.string),\n",
    "}\n",
    "parsed_context, parsed_feature_lists = tf.io.parse_single_sequence_example(\n",
    "    serialized_sequence_example, context_feature_descriptions,\n",
    "    sequence_feature_descriptions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'title': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd621092610>,\n",
       " 'author_id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'pub_date': <tf.Tensor: shape=(3,), dtype=int64, numpy=array([1623,   12,   25])>}"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_context"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(4,), dtype=string, numpy=array([b'A', b'desert', b'place', b'.'], dtype=object)>"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_context[\"title\"].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'comments': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd621092790>,\n",
       " 'content': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fd621092b50>}"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_feature_lists"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<tf.RaggedTensor [[b'When', b'shall', b'we', b'three', b'meet', b'again', b'?'], [b'In', b'thunder', b',', b'lightning', b',', b'or', b'in', b'rain', b'?']]>\n"
     ]
    }
   ],
   "source": [
    "print(tf.RaggedTensor.from_sparse(parsed_feature_lists[\"content\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The Features API"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's use the variant of the California housing dataset that we used in Chapter 2, since it contains categorical features and missing values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import tarfile\n",
    "import urllib.request\n",
    "\n",
    "DOWNLOAD_ROOT = \"https://raw.githubusercontent.com/ageron/handson-ml2/master/\"\n",
    "HOUSING_PATH = os.path.join(\"datasets\", \"housing\")\n",
    "HOUSING_URL = DOWNLOAD_ROOT + \"datasets/housing/housing.tgz\"\n",
    "\n",
    "def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):\n",
    "    os.makedirs(housing_path, exist_ok=True)\n",
    "    tgz_path = os.path.join(housing_path, \"housing.tgz\")\n",
    "    urllib.request.urlretrieve(housing_url, tgz_path)\n",
    "    housing_tgz = tarfile.open(tgz_path)\n",
    "    housing_tgz.extractall(path=housing_path)\n",
    "    housing_tgz.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "fetch_housing_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "def load_housing_data(housing_path=HOUSING_PATH):\n",
    "    csv_path = os.path.join(housing_path, \"housing.csv\")\n",
    "    return pd.read_csv(csv_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>housing_median_age</th>\n",
       "      <th>total_rooms</th>\n",
       "      <th>total_bedrooms</th>\n",
       "      <th>population</th>\n",
       "      <th>households</th>\n",
       "      <th>median_income</th>\n",
       "      <th>median_house_value</th>\n",
       "      <th>ocean_proximity</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-122.23</td>\n",
       "      <td>37.88</td>\n",
       "      <td>41.0</td>\n",
       "      <td>880.0</td>\n",
       "      <td>129.0</td>\n",
       "      <td>322.0</td>\n",
       "      <td>126.0</td>\n",
       "      <td>8.3252</td>\n",
       "      <td>452600.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-122.22</td>\n",
       "      <td>37.86</td>\n",
       "      <td>21.0</td>\n",
       "      <td>7099.0</td>\n",
       "      <td>1106.0</td>\n",
       "      <td>2401.0</td>\n",
       "      <td>1138.0</td>\n",
       "      <td>8.3014</td>\n",
       "      <td>358500.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-122.24</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1467.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>496.0</td>\n",
       "      <td>177.0</td>\n",
       "      <td>7.2574</td>\n",
       "      <td>352100.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1274.0</td>\n",
       "      <td>235.0</td>\n",
       "      <td>558.0</td>\n",
       "      <td>219.0</td>\n",
       "      <td>5.6431</td>\n",
       "      <td>341300.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1627.0</td>\n",
       "      <td>280.0</td>\n",
       "      <td>565.0</td>\n",
       "      <td>259.0</td>\n",
       "      <td>3.8462</td>\n",
       "      <td>342200.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   longitude  latitude  housing_median_age  total_rooms  total_bedrooms  \\\n",
       "0    -122.23     37.88                41.0        880.0           129.0   \n",
       "1    -122.22     37.86                21.0       7099.0          1106.0   \n",
       "2    -122.24     37.85                52.0       1467.0           190.0   \n",
       "3    -122.25     37.85                52.0       1274.0           235.0   \n",
       "4    -122.25     37.85                52.0       1627.0           280.0   \n",
       "\n",
       "   population  households  median_income  median_house_value ocean_proximity  \n",
       "0       322.0       126.0         8.3252            452600.0        NEAR BAY  \n",
       "1      2401.0      1138.0         8.3014            358500.0        NEAR BAY  \n",
       "2       496.0       177.0         7.2574            352100.0        NEAR BAY  \n",
       "3       558.0       219.0         5.6431            341300.0        NEAR BAY  \n",
       "4       565.0       259.0         3.8462            342200.0        NEAR BAY  "
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "housing = load_housing_data()\n",
    "housing.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "housing_median_age = tf.feature_column.numeric_column(\"housing_median_age\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "age_mean, age_std = X_mean[1], X_std[1]  # The median age is column in 1\n",
    "housing_median_age = tf.feature_column.numeric_column(\n",
    "    \"housing_median_age\", normalizer_fn=lambda x: (x - age_mean) / age_std)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "median_income = tf.feature_column.numeric_column(\"median_income\")\n",
    "bucketized_income = tf.feature_column.bucketized_column(\n",
    "    median_income, boundaries=[1.5, 3., 4.5, 6.])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BucketizedColumn(source_column=NumericColumn(key='median_income', shape=(1,), default_value=None, dtype=tf.float32, normalizer_fn=None), boundaries=(1.5, 3.0, 4.5, 6.0))"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bucketized_income"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_prox_vocab = ['<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN']\n",
    "ocean_proximity = tf.feature_column.categorical_column_with_vocabulary_list(\n",
    "    \"ocean_proximity\", ocean_prox_vocab)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "VocabularyListCategoricalColumn(key='ocean_proximity', vocabulary_list=('<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN'), dtype=tf.string, default_value=-1, num_oov_buckets=0)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ocean_proximity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "HashedCategoricalColumn(key='city', hash_bucket_size=1000, dtype=tf.string)"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Just an example, it's not used later on\n",
    "city_hash = tf.feature_column.categorical_column_with_hash_bucket(\n",
    "    \"city\", hash_bucket_size=1000)\n",
    "city_hash"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "bucketized_age = tf.feature_column.bucketized_column(\n",
    "    housing_median_age, boundaries=[-1., -0.5, 0., 0.5, 1.]) # age was scaled\n",
    "age_and_ocean_proximity = tf.feature_column.crossed_column(\n",
    "    [bucketized_age, ocean_proximity], hash_bucket_size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "latitude = tf.feature_column.numeric_column(\"latitude\")\n",
    "longitude = tf.feature_column.numeric_column(\"longitude\")\n",
    "bucketized_latitude = tf.feature_column.bucketized_column(\n",
    "    latitude, boundaries=list(np.linspace(32., 42., 20 - 1)))\n",
    "bucketized_longitude = tf.feature_column.bucketized_column(\n",
    "    longitude, boundaries=list(np.linspace(-125., -114., 20 - 1)))\n",
    "location = tf.feature_column.crossed_column(\n",
    "    [bucketized_latitude, bucketized_longitude], hash_bucket_size=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_proximity_one_hot = tf.feature_column.indicator_column(ocean_proximity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_proximity_embed = tf.feature_column.embedding_column(ocean_proximity,\n",
    "                                                           dimension=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Using Feature Columns for Parsing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "median_house_value = tf.feature_column.numeric_column(\"median_house_value\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'housing_median_age': FixedLenFeature(shape=(1,), dtype=tf.float32, default_value=None),\n",
       " 'median_house_value': FixedLenFeature(shape=(1,), dtype=tf.float32, default_value=None)}"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns = [housing_median_age, median_house_value]\n",
    "feature_descriptions = tf.feature_column.make_parse_example_spec(columns)\n",
    "feature_descriptions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "with tf.io.TFRecordWriter(\"my_data_with_features.tfrecords\") as f:\n",
    "    for x, y in zip(X_train[:, 1:2], y_train):\n",
    "        example = Example(features=Features(feature={\n",
    "            \"housing_median_age\": Feature(float_list=FloatList(value=[x])),\n",
    "            \"median_house_value\": Feature(float_list=FloatList(value=[y]))\n",
    "        }))\n",
    "        f.write(example.SerializeToString())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "def parse_examples(serialized_examples):\n",
    "    examples = tf.io.parse_example(serialized_examples, feature_descriptions)\n",
    "    targets = examples.pop(\"median_house_value\") # separate the targets\n",
    "    return examples, targets\n",
    "\n",
    "batch_size = 32\n",
    "dataset = tf.data.TFRecordDataset([\"my_data_with_features.tfrecords\"])\n",
    "dataset = dataset.repeat().shuffle(10000).batch(batch_size).map(parse_examples)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: the `DenseFeatures` layer currently does not work with the Functional API, see [TF issue #27416](https://github.com/tensorflow/tensorflow/issues/27416). Hopefully this will be resolved before the final release of TF 2.0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor, but we receive a <class 'dict'> input: {'housing_median_age': <tf.Tensor 'IteratorGetNext:0' shape=(None, 1) dtype=float32>}\n",
      "Consider rewriting this model with the Functional API.\n",
      "WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor, but we receive a <class 'dict'> input: {'housing_median_age': <tf.Tensor 'IteratorGetNext:0' shape=(None, 1) dtype=float32>}\n",
      "Consider rewriting this model with the Functional API.\n",
      "362/362 [==============================] - 0s 675us/step - loss: 4.7553 - accuracy: 8.8428e-04\n",
      "Epoch 2/5\n",
      "362/362 [==============================] - 0s 622us/step - loss: 2.1622 - accuracy: 0.0021\n",
      "Epoch 3/5\n",
      "362/362 [==============================] - 0s 583us/step - loss: 1.4673 - accuracy: 0.0032\n",
      "Epoch 4/5\n",
      "362/362 [==============================] - 0s 543us/step - loss: 1.3786 - accuracy: 0.0033\n",
      "Epoch 5/5\n",
      "362/362 [==============================] - 0s 537us/step - loss: 1.3404 - accuracy: 0.0034\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd532a6ffd0>"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns_without_target = columns[:-1]\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.DenseFeatures(feature_columns=columns_without_target),\n",
    "    keras.layers.Dense(1)\n",
    "])\n",
    "model.compile(loss=\"mse\",\n",
    "              optimizer=keras.optimizers.SGD(learning_rate=1e-3),\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(dataset, steps_per_epoch=len(X_train) // batch_size, epochs=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3, 7), dtype=float32, numpy=\n",
       "array([[ 0.        ,  0.        ,  1.        ,  0.        ,  0.        ,\n",
       "        -0.14504611,  0.7563394 ],\n",
       "       [ 0.        ,  0.        ,  0.        ,  0.        ,  1.        ,\n",
       "        -1.1119912 ,  0.56957847],\n",
       "       [ 1.        ,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        -1.1119912 ,  0.56957847]], dtype=float32)>"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "some_columns = [ocean_proximity_embed, bucketized_income]\n",
    "dense_features = keras.layers.DenseFeatures(some_columns)\n",
    "dense_features({\n",
    "    \"ocean_proximity\": [[\"NEAR OCEAN\"], [\"INLAND\"], [\"INLAND\"]],\n",
    "    \"median_income\": [[3.], [7.2], [1.]]\n",
    "})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TF Transform"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    import tensorflow_transform as tft\n",
    "\n",
    "    def preprocess(inputs):  # inputs is a batch of input features\n",
    "        median_age = inputs[\"housing_median_age\"]\n",
    "        ocean_proximity = inputs[\"ocean_proximity\"]\n",
    "        standardized_age = tft.scale_to_z_score(median_age - tft.mean(median_age))\n",
    "        ocean_proximity_id = tft.compute_and_apply_vocabulary(ocean_proximity)\n",
    "        return {\n",
    "            \"standardized_median_age\": standardized_age,\n",
    "            \"ocean_proximity_id\": ocean_proximity_id\n",
    "        }\n",
    "except ImportError:\n",
    "    print(\"TF Transform is not installed. Try running: pip3 install -U tensorflow-transform\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TensorFlow Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:absl:Found a different version of the requested dataset:\n",
      "/Users/ageron/tensorflow_datasets/mnist/3.0.0\n",
      "Using /Users/ageron/tensorflow_datasets/mnist/3.0.1 instead.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1mDownloading and preparing dataset mnist/3.0.1 (download: 11.06 MiB, generated: 21.00 MiB, total: 32.06 MiB) to /Users/ageron/tensorflow_datasets/mnist/3.0.1...\u001b[0m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:absl:Dataset mnist is hosted on GCS. It will automatically be downloaded to your\n",
      "local data directory. If you'd instead prefer to read directly from our public\n",
      "GCS bucket (recommended if you're running on GCP), you can instead set\n",
      "data_dir=gs://tfds-data/datasets.\n",
      "\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "766787dcfced4b7db1d4d66559378f1b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Dl Completed...:   0%|          | 0/4 [00:00<?, ? file/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[1mDataset mnist downloaded and prepared to /Users/ageron/tensorflow_datasets/mnist/3.0.1. Subsequent calls will reuse this data.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "import tensorflow_datasets as tfds\n",
    "\n",
    "datasets = tfds.load(name=\"mnist\")\n",
    "mnist_train, mnist_test = datasets[\"train\"], datasets[\"test\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['abstract_reasoning', 'aeslc', 'aflw2k3d', 'amazon_us_reviews', 'arc', 'bair_robot_pushing_small', 'beans', 'big_patent', 'bigearthnet', 'billsum', 'binarized_mnist', 'binary_alpha_digits', 'blimp', 'c4', 'caltech101', 'caltech_birds2010', 'caltech_birds2011', 'cars196', 'cassava', 'cats_vs_dogs', 'celeb_a', 'celeb_a_hq', 'cfq', 'chexpert', 'cifar10', 'cifar100', 'cifar10_1', 'cifar10_corrupted', 'citrus_leaves', 'cityscapes', 'civil_comments', 'clevr', 'cmaterdb', 'cnn_dailymail', 'coco', 'coil100', 'colorectal_histology', 'colorectal_histology_large', 'common_voice', 'cos_e', 'crema_d', 'curated_breast_imaging_ddsm', 'cycle_gan', 'deep_weeds', 'definite_pronoun_resolution', 'dementiabank', 'diabetic_retinopathy_detection', 'div2k', 'dmlab', 'downsampled_imagenet', 'dsprites', 'dtd', 'duke_ultrasound', 'emnist', 'eraser_multi_rc', 'esnli', 'eurosat', 'fashion_mnist', 'flic', 'flores', 'food101', 'forest_fires', 'gap', 'geirhos_conflict_stimuli', 'german_credit_numeric', 'gigaword', 'glue', 'groove', 'higgs', 'horses_or_humans', 'i_naturalist2017', 'image_label_folder', 'imagenet2012', 'imagenet2012_corrupted', 'imagenet2012_subset', 'imagenet_resized', 'imagenette', 'imagewang', 'imdb_reviews', 'iris', 'kitti', 'kmnist', 'lfw', 'librispeech', 'librispeech_lm', 'libritts', 'ljspeech', 'lm1b', 'lost_and_found', 'lsun', 'malaria', 'math_dataset', 'mnist', 'mnist_corrupted', 'movie_rationales', 'moving_mnist', 'multi_news', 'multi_nli', 'multi_nli_mismatch', 'natural_questions', 'newsroom', 'nsynth', 'omniglot', 'open_images_challenge2019_detection', 'open_images_v4', 'opinosis', 'oxford_flowers102', 'oxford_iiit_pet', 'para_crawl', 'patch_camelyon', 'pet_finder', 'places365_small', 'plant_leaves', 'plant_village', 'plantae_k', 'qa4mre', 'quickdraw_bitmap', 'reddit', 'reddit_tifu', 'resisc45', 'robonet', 'rock_paper_scissors', 'rock_you', 'savee', 'scan', 'scene_parse150', 'scicite', 'scientific_papers', 'shapes3d', 'smallnorb', 'snli', 'so2sat', 'speech_commands', 'squad', 'stanford_dogs', 'stanford_online_products', 'starcraft_video', 'stl10', 'sun397', 'super_glue', 'svhn_cropped', 'ted_hrlr_translate', 'ted_multi_translate', 'tedlium', 'tf_flowers', 'the300w_lp', 'tiny_shakespeare', 'titanic', 'trivia_qa', 'uc_merced', 'ucf101', 'vgg_face2', 'visual_domain_decathlon', 'voc', 'voxceleb', 'waymo_open_dataset', 'web_questions', 'wider_face', 'wiki40b', 'wikihow', 'wikipedia', 'wmt14_translate', 'wmt15_translate', 'wmt16_translate', 'wmt17_translate', 'wmt18_translate', 'wmt19_translate', 'wmt_t2t_translate', 'wmt_translate', 'xnli', 'xsum', 'yelp_polarity_reviews']\n"
     ]
    }
   ],
   "source": [
    "print(tfds.list_builders())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x216 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6,3))\n",
    "mnist_train = mnist_train.repeat(5).batch(32).prefetch(1)\n",
    "for item in mnist_train:\n",
    "    images = item[\"image\"]\n",
    "    labels = item[\"label\"]\n",
    "    for index in range(5):\n",
    "        plt.subplot(1, 5, index + 1)\n",
    "        image = images[index, ..., 0]\n",
    "        label = labels[index].numpy()\n",
    "        plt.imshow(image, cmap=\"binary\")\n",
    "        plt.title(label)\n",
    "        plt.axis(\"off\")\n",
    "    break # just showing part of the first batch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(32, 28, 28, 1)\n",
      "[4 1 0 7 8 1 2 7 1 6 6 4 7 7 3 3 7 9 9 1 0 6 6 9 9 4 8 9 4 7 3 3]\n"
     ]
    }
   ],
   "source": [
    "datasets = tfds.load(name=\"mnist\")\n",
    "mnist_train, mnist_test = datasets[\"train\"], datasets[\"test\"]\n",
    "mnist_train = mnist_train.repeat(5).batch(32)\n",
    "mnist_train = mnist_train.map(lambda items: (items[\"image\"], items[\"label\"]))\n",
    "mnist_train = mnist_train.prefetch(1)\n",
    "for images, labels in mnist_train.take(1):\n",
    "    print(images.shape)\n",
    "    print(labels.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "1875/1875 [==============================] - 2s 997us/step - loss: 42.8499 - accuracy: 0.8034\n",
      "Epoch 2/5\n",
      "1875/1875 [==============================] - 1s 481us/step - loss: 25.1669 - accuracy: 0.8687\n",
      "Epoch 3/5\n",
      "1875/1875 [==============================] - 1s 460us/step - loss: 24.1730 - accuracy: 0.8744\n",
      "Epoch 4/5\n",
      "1875/1875 [==============================] - 1s 446us/step - loss: 23.7216 - accuracy: 0.8760\n",
      "Epoch 5/5\n",
      "1875/1875 [==============================] - 1s 444us/step - loss: 23.1382 - accuracy: 0.8786\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd515158c90>"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datasets = tfds.load(name=\"mnist\", batch_size=32, as_supervised=True)\n",
    "mnist_train = datasets[\"train\"].repeat().prefetch(1)\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.Flatten(input_shape=[28, 28, 1]),\n",
    "    keras.layers.Lambda(lambda images: tf.cast(images, tf.float32)),\n",
    "    keras.layers.Dense(10, activation=\"softmax\")])\n",
    "model.compile(loss=\"sparse_categorical_crossentropy\",\n",
    "              optimizer=keras.optimizers.SGD(learning_rate=1e-3),\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(mnist_train, steps_per_epoch=60000 // 32, epochs=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TensorFlow Hub"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "keras_layer (KerasLayer)     (None, 50)                48190600  \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 16)                816       \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 17        \n",
      "=================================================================\n",
      "Total params: 48,191,433\n",
      "Trainable params: 833\n",
      "Non-trainable params: 48,190,600\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "import tensorflow_hub as hub\n",
    "\n",
    "hub_layer = hub.KerasLayer(\"https://tfhub.dev/google/nnlm-en-dim50/2\",\n",
    "                           output_shape=[50], input_shape=[], dtype=tf.string)\n",
    "\n",
    "model = keras.Sequential()\n",
    "model.add(hub_layer)\n",
    "model.add(keras.layers.Dense(16, activation='relu'))\n",
    "model.add(keras.layers.Dense(1, activation='sigmoid'))\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [],
   "source": [
    "sentences = tf.constant([\"It was a great movie\", \"The actors were amazing\"])\n",
    "embeddings = hub_layer(sentences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=float32, numpy=\n",
       "array([[ 7.45939985e-02,  2.76720114e-02,  9.38646123e-02,\n",
       "         1.25124469e-01,  5.40293928e-04, -1.09435350e-01,\n",
       "         1.34755149e-01, -9.57818255e-02, -1.85177118e-01,\n",
       "        -1.69703495e-02,  1.75612606e-02, -9.06603858e-02,\n",
       "         1.12110220e-01,  1.04646273e-01,  3.87700424e-02,\n",
       "        -7.71859884e-02, -3.12189370e-01,  6.99466765e-02,\n",
       "        -4.88970093e-02, -2.99049795e-01,  1.31183028e-01,\n",
       "        -2.12630898e-01,  6.96169436e-02,  1.63592950e-01,\n",
       "         1.05169769e-02,  7.79720694e-02, -2.55230188e-01,\n",
       "        -1.80790052e-01,  2.93739915e-01,  1.62875261e-02,\n",
       "        -2.80566931e-01,  1.60284728e-01,  9.87277832e-03,\n",
       "         8.44555616e-04,  8.39456245e-02,  3.24002892e-01,\n",
       "         1.53253034e-01, -3.01048346e-02,  8.94618109e-02,\n",
       "        -2.39153411e-02, -1.50188789e-01, -1.81733668e-02,\n",
       "        -1.20483577e-01,  1.32937476e-01, -3.35325629e-01,\n",
       "        -1.46504581e-01, -1.25251599e-02, -1.64428815e-01,\n",
       "        -7.00765476e-02,  3.60923223e-02],\n",
       "       [-1.56998575e-01,  4.24599349e-02, -5.57703003e-02,\n",
       "        -8.08446854e-03,  1.23733155e-01,  3.89427543e-02,\n",
       "        -4.37901802e-02, -1.86987907e-01, -2.29341656e-01,\n",
       "        -1.27766818e-01,  3.83025259e-02, -1.07057482e-01,\n",
       "        -6.11584112e-02,  2.49654502e-01, -1.39712945e-01,\n",
       "        -3.91289443e-02, -1.35873526e-01, -3.58613044e-01,\n",
       "         2.53462754e-02, -1.58370987e-01, -1.38350084e-01,\n",
       "        -3.90771806e-01, -6.63642734e-02, -3.24838236e-02,\n",
       "        -2.20453963e-02, -1.68282315e-01, -7.40613639e-02,\n",
       "        -2.49074101e-02,  2.46460736e-01,  9.87201929e-05,\n",
       "        -1.85390845e-01, -4.92824614e-02,  1.09015472e-01,\n",
       "        -9.54203904e-02, -1.60352528e-01, -2.59811729e-02,\n",
       "         1.13778859e-01, -2.09578887e-01,  2.18261331e-01,\n",
       "        -3.11211571e-02, -6.12562597e-02, -8.66057724e-02,\n",
       "        -1.10762455e-01, -5.73977083e-03, -1.08923554e-01,\n",
       "        -1.72919363e-01,  1.00515485e-01, -5.64153939e-02,\n",
       "        -4.97694984e-02, -1.07776590e-01]], dtype=float32)>"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "embeddings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercises\n",
    "\n",
    "## 1. to 8.\n",
    "See Appendix A\n",
    "\n",
    "## 9.\n",
    "### a.\n",
    "_Exercise: Load the Fashion MNIST dataset (introduced in Chapter 10); split it into a training set, a validation set, and a test set; shuffle the training set; and save each dataset to multiple TFRecord files. Each record should be a serialized `Example` protobuf with two features: the serialized image (use `tf.io.serialize_tensor()` to serialize each image), and the label. Note: for large images, you could use `tf.io.encode_jpeg()` instead. This would save a lot of space, but it would lose a bit of image quality._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "(X_train_full, y_train_full), (X_test, y_test) = keras.datasets.fashion_mnist.load_data()\n",
    "X_valid, X_train = X_train_full[:5000], X_train_full[5000:]\n",
    "y_valid, y_train = y_train_full[:5000], y_train_full[5000:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = tf.data.Dataset.from_tensor_slices((X_train, y_train)).shuffle(len(X_train))\n",
    "valid_set = tf.data.Dataset.from_tensor_slices((X_valid, y_valid))\n",
    "test_set = tf.data.Dataset.from_tensor_slices((X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_example(image, label):\n",
    "    image_data = tf.io.serialize_tensor(image)\n",
    "    #image_data = tf.io.encode_jpeg(image[..., np.newaxis])\n",
    "    return Example(\n",
    "        features=Features(\n",
    "            feature={\n",
    "                \"image\": Feature(bytes_list=BytesList(value=[image_data.numpy()])),\n",
    "                \"label\": Feature(int64_list=Int64List(value=[label])),\n",
    "            }))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "features {\n",
      "  feature {\n",
      "    key: \"image\"\n",
      "    value {\n",
      "      bytes_list {\n",
      "        value: \"\\010\\004\\022\\010\\022\\002\\010\\034\\022\\002\\010\\034\\\"\\220\\006\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000\\000\\rI\\000\\000\\001\\004\\000\\000\\000\\000\\001\\001\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\003\\000$\\210\\177>6\\000\\000\\000\\001\\003\\004\\000\\000\\003\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\006\\000f\\314\\260\\206\\220{\\027\\000\\000\\000\\000\\014\\n\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\233\\354\\317\\262k\\234\\241m@\\027M\\202H\\017\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000E\\317\\337\\332\\330\\330\\243\\177yz\\222\\215X\\254B\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\001\\001\\000\\310\\350\\350\\351\\345\\337\\337\\327\\325\\244\\177{\\304\\345\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\267\\341\\330\\337\\344\\353\\343\\340\\336\\340\\335\\337\\365\\255\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\301\\344\\332\\325\\306\\264\\324\\322\\323\\325\\337\\334\\363\\312\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\003\\000\\014\\333\\334\\324\\332\\300\\251\\343\\320\\332\\340\\324\\342\\305\\3214\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\006\\000c\\364\\336\\334\\332\\313\\306\\335\\327\\325\\336\\334\\365w\\2478\\000\\000\\000\\000\\000\\000\\000\\000\\000\\004\\000\\0007\\354\\344\\346\\344\\360\\350\\325\\332\\337\\352\\331\\331\\321\\\\\\000\\000\\000\\001\\004\\006\\007\\002\\000\\000\\000\\000\\000\\355\\342\\331\\337\\336\\333\\336\\335\\330\\337\\345\\327\\332\\377M\\000\\000\\003\\000\\000\\000\\000\\000\\000\\000>\\221\\314\\344\\317\\325\\335\\332\\320\\323\\332\\340\\337\\333\\327\\340\\364\\237\\000\\000\\000\\000\\000\\022,Rk\\275\\344\\334\\336\\331\\342\\310\\315\\323\\346\\340\\352\\260\\274\\372\\370\\351\\356\\327\\000\\0009\\273\\320\\340\\335\\340\\320\\314\\326\\320\\321\\310\\237\\365\\301\\316\\337\\377\\377\\335\\352\\335\\323\\334\\350\\366\\000\\003\\312\\344\\340\\335\\323\\323\\326\\315\\315\\315\\334\\360P\\226\\377\\345\\335\\274\\232\\277\\322\\314\\321\\336\\344\\341\\000b\\351\\306\\322\\336\\345\\345\\352\\371\\334\\302\\327\\331\\361AIju\\250\\333\\335\\327\\331\\337\\337\\340\\345\\035K\\314\\324\\314\\301\\315\\323\\341\\330\\271\\305\\316\\306\\325\\360\\303\\343\\365\\357\\337\\332\\324\\321\\336\\334\\335\\346C0\\313\\267\\302\\325\\305\\271\\276\\302\\300\\312\\326\\333\\335\\334\\354\\341\\330\\307\\316\\272\\265\\261\\254\\265\\315\\316s\\000z\\333\\301\\263\\253\\267\\304\\314\\322\\325\\317\\323\\322\\310\\304\\302\\277\\303\\277\\306\\300\\260\\234\\247\\261\\322\\\\\\000\\000J\\275\\324\\277\\257\\254\\257\\265\\271\\274\\275\\274\\301\\306\\314\\321\\322\\322\\323\\274\\274\\302\\300\\330\\252\\000\\002\\000\\000\\000B\\310\\336\\355\\357\\362\\366\\363\\364\\335\\334\\301\\277\\263\\266\\266\\265\\260\\246\\250c:\\000\\000\\000\\000\\000\\000\\000\\000\\000(=,H)#\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\"\n",
      "      }\n",
      "    }\n",
      "  }\n",
      "  feature {\n",
      "    key: \"label\"\n",
      "    value {\n",
      "      int64_list {\n",
      "        value: 9\n",
      "      }\n",
      "    }\n",
      "  }\n",
      "}\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for image, label in valid_set.take(1):\n",
    "    print(create_example(image, label))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following function saves a given dataset to a set of TFRecord files. The examples are written to the files in a round-robin fashion. To do this, we enumerate all the examples using the `dataset.enumerate()` method, and we compute `index % n_shards` to decide which file to write to. We use the standard `contextlib.ExitStack` class to make sure that all writers are properly closed whether or not an I/O error occurs while writing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [],
   "source": [
    "from contextlib import ExitStack\n",
    "\n",
    "def write_tfrecords(name, dataset, n_shards=10):\n",
    "    paths = [\"{}.tfrecord-{:05d}-of-{:05d}\".format(name, index, n_shards)\n",
    "             for index in range(n_shards)]\n",
    "    with ExitStack() as stack:\n",
    "        writers = [stack.enter_context(tf.io.TFRecordWriter(path))\n",
    "                   for path in paths]\n",
    "        for index, (image, label) in dataset.enumerate():\n",
    "            shard = index % n_shards\n",
    "            example = create_example(image, label)\n",
    "            writers[shard].write(example.SerializeToString())\n",
    "    return paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_filepaths = write_tfrecords(\"my_fashion_mnist.train\", train_set)\n",
    "valid_filepaths = write_tfrecords(\"my_fashion_mnist.valid\", valid_set)\n",
    "test_filepaths = write_tfrecords(\"my_fashion_mnist.test\", test_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### b.\n",
    "_Exercise: Then use tf.data to create an efficient dataset for each set. Finally, use a Keras model to train these datasets, including a preprocessing layer to standardize each input feature. Try to make the input pipeline as efficient as possible, using TensorBoard to visualize profiling data._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "def preprocess(tfrecord):\n",
    "    feature_descriptions = {\n",
    "        \"image\": tf.io.FixedLenFeature([], tf.string, default_value=\"\"),\n",
    "        \"label\": tf.io.FixedLenFeature([], tf.int64, default_value=-1)\n",
    "    }\n",
    "    example = tf.io.parse_single_example(tfrecord, feature_descriptions)\n",
    "    image = tf.io.parse_tensor(example[\"image\"], out_type=tf.uint8)\n",
    "    #image = tf.io.decode_jpeg(example[\"image\"])\n",
    "    image = tf.reshape(image, shape=[28, 28])\n",
    "    return image, example[\"label\"]\n",
    "\n",
    "def mnist_dataset(filepaths, n_read_threads=5, shuffle_buffer_size=None,\n",
    "                  n_parse_threads=5, batch_size=32, cache=True):\n",
    "    dataset = tf.data.TFRecordDataset(filepaths,\n",
    "                                      num_parallel_reads=n_read_threads)\n",
    "    if cache:\n",
    "        dataset = dataset.cache()\n",
    "    if shuffle_buffer_size:\n",
    "        dataset = dataset.shuffle(shuffle_buffer_size)\n",
    "    dataset = dataset.map(preprocess, num_parallel_calls=n_parse_threads)\n",
    "    dataset = dataset.batch(batch_size)\n",
    "    return dataset.prefetch(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = mnist_dataset(train_filepaths, shuffle_buffer_size=60000)\n",
    "valid_set = mnist_dataset(valid_filepaths)\n",
    "test_set = mnist_dataset(test_filepaths)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for X, y in train_set.take(1):\n",
    "    for i in range(5):\n",
    "        plt.subplot(1, 5, i + 1)\n",
    "        plt.imshow(X[i].numpy(), cmap=\"binary\")\n",
    "        plt.axis(\"off\")\n",
    "        plt.title(str(y[i].numpy()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "tf.random.set_seed(42)\n",
    "np.random.seed(42)\n",
    "\n",
    "class Standardization(keras.layers.Layer):\n",
    "    def adapt(self, data_sample):\n",
    "        self.means_ = np.mean(data_sample, axis=0, keepdims=True)\n",
    "        self.stds_ = np.std(data_sample, axis=0, keepdims=True)\n",
    "    def call(self, inputs):\n",
    "        return (inputs - self.means_) / (self.stds_ + keras.backend.epsilon())\n",
    "\n",
    "standardization = Standardization(input_shape=[28, 28])\n",
    "# or perhaps soon:\n",
    "#standardization = keras.layers.Normalization()\n",
    "\n",
    "sample_image_batches = train_set.take(100).map(lambda image, label: image)\n",
    "sample_images = np.concatenate(list(sample_image_batches.as_numpy_iterator()),\n",
    "                               axis=0).astype(np.float32)\n",
    "standardization.adapt(sample_images)\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    standardization,\n",
    "    keras.layers.Flatten(),\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(10, activation=\"softmax\")\n",
    "])\n",
    "model.compile(loss=\"sparse_categorical_crossentropy\",\n",
    "              optimizer=\"nadam\", metrics=[\"accuracy\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "1719/1719 [==============================] - 4s 2ms/step - loss: 656.6687 - accuracy: 0.8038 - val_loss: 82.8087 - val_accuracy: 0.8806\n",
      "Epoch 2/5\n",
      "1719/1719 [==============================] - 4s 2ms/step - loss: 209.0040 - accuracy: 0.8781 - val_loss: 147.8434 - val_accuracy: 0.8906\n",
      "Epoch 3/5\n",
      "1719/1719 [==============================] - 3s 2ms/step - loss: 146.5866 - accuracy: 0.8914 - val_loss: 361.5933 - val_accuracy: 0.9058\n",
      "Epoch 4/5\n",
      "1719/1719 [==============================] - 3s 2ms/step - loss: 110.8240 - accuracy: 0.9014 - val_loss: 150.4520 - val_accuracy: 0.9143\n",
      "Epoch 5/5\n",
      "1719/1719 [==============================] - 3s 2ms/step - loss: 175.6303 - accuracy: 0.9106 - val_loss: 42.5092 - val_accuracy: 0.9141\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd521498890>"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from datetime import datetime\n",
    "logs = os.path.join(os.curdir, \"my_logs\",\n",
    "                    \"run_\" + datetime.now().strftime(\"%Y%m%d_%H%M%S\"))\n",
    "\n",
    "tensorboard_cb = tf.keras.callbacks.TensorBoard(\n",
    "    log_dir=logs, histogram_freq=1, profile_batch=10)\n",
    "\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set,\n",
    "          callbacks=[tensorboard_cb])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning:** The profiling tab in TensorBoard works if you use TensorFlow 2.2+. You also need to make sure `tensorboard_plugin_profile` is installed (and restart Jupyter if necessary)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "      <iframe id=\"tensorboard-frame-bb24df699b31a9fa\" width=\"100%\" height=\"800\" frameborder=\"0\">\n",
       "      </iframe>\n",
       "      <script>\n",
       "        (function() {\n",
       "          const frame = document.getElementById(\"tensorboard-frame-bb24df699b31a9fa\");\n",
       "          const url = new URL(\"/\", window.location);\n",
       "          const port = 6006;\n",
       "          if (port) {\n",
       "            url.port = port;\n",
       "          }\n",
       "          frame.src = url;\n",
       "        })();\n",
       "      </script>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%load_ext tensorboard\n",
    "%tensorboard --logdir=./my_logs --port=6006"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 10.\n",
    "_Exercise: In this exercise you will download a dataset, split it, create a `tf.data.Dataset` to load it and preprocess it efficiently, then build and train a binary classification model containing an `Embedding` layer._\n",
    "\n",
    "### a.\n",
    "_Exercise: Download the [Large Movie Review Dataset](https://homl.info/imdb), which contains 50,000 movies reviews from the [Internet Movie Database](https://imdb.com/). The data is organized in two directories, `train` and `test`, each containing a `pos` subdirectory with 12,500 positive reviews and a `neg` subdirectory with 12,500 negative reviews. Each review is stored in a separate text file. There are other files and folders (including preprocessed bag-of-words), but we will ignore them in this exercise._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz\n",
      "84131840/84125825 [==============================] - 12s 0us/step\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "PosixPath('/Users/ageron/.keras/datasets/aclImdb')"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pathlib import Path\n",
    "\n",
    "DOWNLOAD_ROOT = \"http://ai.stanford.edu/~amaas/data/sentiment/\"\n",
    "FILENAME = \"aclImdb_v1.tar.gz\"\n",
    "filepath = keras.utils.get_file(FILENAME, DOWNLOAD_ROOT + FILENAME, extract=True)\n",
    "path = Path(filepath).parent / \"aclImdb\"\n",
    "path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "aclImdb/\n",
      "    README\n",
      "    imdb.vocab\n",
      "    imdbEr.txt\n",
      "    test/\n",
      "        labeledBow.feat\n",
      "        urls_neg.txt\n",
      "        urls_pos.txt\n",
      "        neg/\n",
      "            0_2.txt\n",
      "            10000_4.txt\n",
      "            10001_1.txt\n",
      "            ...\n",
      "        pos/\n",
      "            0_10.txt\n",
      "            10000_7.txt\n",
      "            10001_9.txt\n",
      "            ...\n",
      "    train/\n",
      "        labeledBow.feat\n",
      "        unsupBow.feat\n",
      "        urls_neg.txt\n",
      "        ...\n",
      "        neg/\n",
      "            0_3.txt\n",
      "            10000_4.txt\n",
      "            10001_4.txt\n",
      "            ...\n",
      "        unsup/\n",
      "            0_0.txt\n",
      "            10000_0.txt\n",
      "            10001_0.txt\n",
      "            ...\n",
      "        pos/\n",
      "            0_9.txt\n",
      "            10000_8.txt\n",
      "            10001_10.txt\n",
      "            ...\n"
     ]
    }
   ],
   "source": [
    "for name, subdirs, files in os.walk(path):\n",
    "    indent = len(Path(name).parts) - len(path.parts)\n",
    "    print(\"    \" * indent + Path(name).parts[-1] + os.sep)\n",
    "    for index, filename in enumerate(sorted(files)):\n",
    "        if index == 3:\n",
    "            print(\"    \" * (indent + 1) + \"...\")\n",
    "            break\n",
    "        print(\"    \" * (indent + 1) + filename)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(12500, 12500, 12500, 12500)"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def review_paths(dirpath):\n",
    "    return [str(path) for path in dirpath.glob(\"*.txt\")]\n",
    "\n",
    "train_pos = review_paths(path / \"train\" / \"pos\")\n",
    "train_neg = review_paths(path / \"train\" / \"neg\")\n",
    "test_valid_pos = review_paths(path / \"test\" / \"pos\")\n",
    "test_valid_neg = review_paths(path / \"test\" / \"neg\")\n",
    "\n",
    "len(train_pos), len(train_neg), len(test_valid_pos), len(test_valid_neg)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### b.\n",
    "_Exercise: Split the test set into a validation set (15,000) and a test set (10,000)._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.shuffle(test_valid_pos)\n",
    "\n",
    "test_pos = test_valid_pos[:5000]\n",
    "test_neg = test_valid_neg[:5000]\n",
    "valid_pos = test_valid_pos[5000:]\n",
    "valid_neg = test_valid_neg[5000:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### c.\n",
    "_Exercise: Use tf.data to create an efficient dataset for each set._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the dataset fits in memory, we can just load all the data using pure Python code and use `tf.data.Dataset.from_tensor_slices()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imdb_dataset(filepaths_positive, filepaths_negative):\n",
    "    reviews = []\n",
    "    labels = []\n",
    "    for filepaths, label in ((filepaths_negative, 0), (filepaths_positive, 1)):\n",
    "        for filepath in filepaths:\n",
    "            with open(filepath) as review_file:\n",
    "                reviews.append(review_file.read())\n",
    "            labels.append(label)\n",
    "    return tf.data.Dataset.from_tensor_slices(\n",
    "        (tf.constant(reviews), tf.constant(labels)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b\"Working with one of the best Shakespeare sources, this film manages to be creditable to it's source, whilst still appealing to a wider audience.<br /><br />Branagh steals the film from under Fishburne's nose, and there's a talented cast on good form.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n",
      "tf.Tensor(b'Well...tremors I, the original started off in 1990 and i found the movie quite enjoyable to watch. however, they proceeded to make tremors II and III. Trust me, those movies started going downhill right after they finished the first one, i mean, ass blasters??? Now, only God himself is capable of answering the question \"why in Gods name would they create another one of these dumpster dives of a movie?\" Tremors IV cannot be considered a bad movie, in fact it cannot be even considered an epitome of a bad movie, for it lives up to more than that. As i attempted to sit though it, i noticed that my eyes started to bleed, and i hoped profusely that the little girl from the ring would crawl through the TV and kill me. did they really think that dressing the people who had stared in the other movies up as though they we\\'re from the wild west would make the movie (with the exact same occurrences) any better? honestly, i would never suggest buying this movie, i mean, there are cheaper ways to find things that burn well.', shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n",
      "tf.Tensor(b\"Ouch! This one was a bit painful to sit through. It has a cute and amusing premise, but it all goes to hell from there. Matthew Modine is almost always pedestrian and annoying, and he does not disappoint in this one. Deborah Kara Unger and John Neville turned in surprisingly decent performances. Alan Bates and Jennifer Tilly, among others, played it way over the top. I know that's the way the parts were written, and it's hard to blame actors, when the script and director have them do such schlock. If you're going to have outrageous characters, that's OK, but you gotta have good material to make it work. It didn't here. Run away screaming from this movie if at all possible.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for X, y in imdb_dataset(train_pos, train_neg).take(3):\n",
    "    print(X)\n",
    "    print(y)\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "17.4 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).repeat(10): pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It takes about 17 seconds to load the dataset and go through it 10 times."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But let's pretend the dataset does not fit in memory, just to make things more interesting. Luckily, each review fits on just one line (they use `<br />` to indicate line breaks), so we can read the reviews using a `TextLineDataset`. If they didn't we would have to preprocess the input files (e.g., converting them to TFRecords). For very large datasets, it would make sense to use a tool like Apache Beam for that."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imdb_dataset(filepaths_positive, filepaths_negative, n_read_threads=5):\n",
    "    dataset_neg = tf.data.TextLineDataset(filepaths_negative,\n",
    "                                          num_parallel_reads=n_read_threads)\n",
    "    dataset_neg = dataset_neg.map(lambda review: (review, 0))\n",
    "    dataset_pos = tf.data.TextLineDataset(filepaths_positive,\n",
    "                                          num_parallel_reads=n_read_threads)\n",
    "    dataset_pos = dataset_pos.map(lambda review: (review, 1))\n",
    "    return tf.data.Dataset.concatenate(dataset_pos, dataset_neg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "33 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).repeat(10): pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now it takes about 33 seconds to go through the dataset 10 times. That's much slower, essentially because the dataset is not cached in RAM, so it must be reloaded at each epoch. If you add `.cache()` just before `.repeat(10)`, you will see that this implementation will be about as fast as the previous one."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16.8 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).cache().repeat(10): pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [],
   "source": [
    "batch_size = 32\n",
    "\n",
    "train_set = imdb_dataset(train_pos, train_neg).shuffle(25000).batch(batch_size).prefetch(1)\n",
    "valid_set = imdb_dataset(valid_pos, valid_neg).batch(batch_size).prefetch(1)\n",
    "test_set = imdb_dataset(test_pos, test_neg).batch(batch_size).prefetch(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### d.\n",
    "_Exercise: Create a binary classification model, using a `TextVectorization` layer to preprocess each review. If the `TextVectorization` layer is not yet available (or if you like a challenge), try to create your own custom preprocessing layer: you can use the functions in the `tf.strings` package, for example `lower()` to make everything lowercase, `regex_replace()` to replace punctuation with spaces, and `split()` to split words on spaces. You should use a lookup table to output word indices, which must be prepared in the `adapt()` method._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's first write a function to preprocess the reviews, cropping them to 300 characters, converting them to lower case, then replacing `<br />` and all non-letter characters to spaces, splitting the reviews into words, and finally padding or cropping each review so it ends up with exactly `n_words` tokens:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=string, numpy=\n",
       "array([[b'it', b's', b'a', b'great', b'great', b'movie', b'i', b'loved',\n",
       "        b'it', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>'],\n",
       "       [b'it', b'was', b'terrible', b'run', b'away', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>']], dtype=object)>"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def preprocess(X_batch, n_words=50):\n",
    "    shape = tf.shape(X_batch) * tf.constant([1, 0]) + tf.constant([0, n_words])\n",
    "    Z = tf.strings.substr(X_batch, 0, 300)\n",
    "    Z = tf.strings.lower(Z)\n",
    "    Z = tf.strings.regex_replace(Z, b\"<br\\\\s*/?>\", b\" \")\n",
    "    Z = tf.strings.regex_replace(Z, b\"[^a-z]\", b\" \")\n",
    "    Z = tf.strings.split(Z)\n",
    "    return Z.to_tensor(shape=shape, default_value=b\"<pad>\")\n",
    "\n",
    "X_example = tf.constant([\"It's a great, great movie! I loved it.\", \"It was terrible, run away!!!\"])\n",
    "preprocess(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's write a second utility function that will take a data sample with the same format as the output of the `preprocess()` function, and will output the list of the top `max_size` most frequent words, ensuring that the padding token is first:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[b'<pad>',\n",
       " b'it',\n",
       " b'great',\n",
       " b's',\n",
       " b'a',\n",
       " b'movie',\n",
       " b'i',\n",
       " b'loved',\n",
       " b'was',\n",
       " b'terrible',\n",
       " b'run',\n",
       " b'away']"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from collections import Counter\n",
    "\n",
    "def get_vocabulary(data_sample, max_size=1000):\n",
    "    preprocessed_reviews = preprocess(data_sample).numpy()\n",
    "    counter = Counter()\n",
    "    for words in preprocessed_reviews:\n",
    "        for word in words:\n",
    "            if word != b\"<pad>\":\n",
    "                counter[word] += 1\n",
    "    return [b\"<pad>\"] + [word for word, count in counter.most_common(max_size)]\n",
    "\n",
    "get_vocabulary(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we are ready to create the `TextVectorization` layer. Its constructor just saves the hyperparameters (`max_vocabulary_size` and `n_oov_buckets`). The `adapt()` method computes the vocabulary using the `get_vocabulary()` function, then it builds a `StaticVocabularyTable` (see Chapter 16 for more details). The `call()` method preprocesses the reviews to get a padded list of words for each review, then it uses the `StaticVocabularyTable` to lookup the index of each word in the vocabulary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [],
   "source": [
    "class TextVectorization(keras.layers.Layer):\n",
    "    def __init__(self, max_vocabulary_size=1000, n_oov_buckets=100, dtype=tf.string, **kwargs):\n",
    "        super().__init__(dtype=dtype, **kwargs)\n",
    "        self.max_vocabulary_size = max_vocabulary_size\n",
    "        self.n_oov_buckets = n_oov_buckets\n",
    "\n",
    "    def adapt(self, data_sample):\n",
    "        self.vocab = get_vocabulary(data_sample, self.max_vocabulary_size)\n",
    "        words = tf.constant(self.vocab)\n",
    "        word_ids = tf.range(len(self.vocab), dtype=tf.int64)\n",
    "        vocab_init = tf.lookup.KeyValueTensorInitializer(words, word_ids)\n",
    "        self.table = tf.lookup.StaticVocabularyTable(vocab_init, self.n_oov_buckets)\n",
    "        \n",
    "    def call(self, inputs):\n",
    "        preprocessed_inputs = preprocess(inputs)\n",
    "        return self.table.lookup(preprocessed_inputs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's try it on our small `X_example` we defined earlier:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=int64, numpy=\n",
       "array([[ 1,  3,  4,  2,  2,  5,  6,  7,  1,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0],\n",
       "       [ 1,  8,  9, 10, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0]])>"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization = TextVectorization()\n",
    "\n",
    "text_vectorization.adapt(X_example)\n",
    "text_vectorization(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looks good! As you can see, each review was cleaned up and tokenized, then each word was encoded as its index in the vocabulary (all the 0s correspond to the `<pad>` tokens).\n",
    "\n",
    "Now let's create another `TextVectorization` layer and let's adapt it to the full IMDB training set (if the training set did not fit in RAM, we could just use a smaller sample of the training set by calling `train_set.take(500)`):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [],
   "source": [
    "max_vocabulary_size = 1000\n",
    "n_oov_buckets = 100\n",
    "\n",
    "sample_review_batches = train_set.map(lambda review, label: review)\n",
    "sample_reviews = np.concatenate(list(sample_review_batches.as_numpy_iterator()),\n",
    "                                axis=0)\n",
    "\n",
    "text_vectorization = TextVectorization(max_vocabulary_size, n_oov_buckets,\n",
    "                                       input_shape=[])\n",
    "text_vectorization.adapt(sample_reviews)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's run it on the same `X_example`, just to make sure the word IDs are larger now, since the vocabulary is bigger:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=int64, numpy=\n",
       "array([[  9,  14,   2,  64,  64,  12,   5, 257,   9,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0],\n",
       "       [  9,  13, 269, 531, 335,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0]])>"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Good! Now let's take a look at the first 10 words in the vocabulary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[b'<pad>', b'the', b'a', b'of', b'and', b'i', b'to', b'is', b'this', b'it']"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization.vocab[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These are the most common words in the reviews."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now to build our model we will need to encode all these word IDs somehow. One approach is to create bags of words: for each review, and for each word in the vocabulary, we count the number of occurences of that word in the review. For example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 4), dtype=float32, numpy=\n",
       "array([[2., 2., 0., 1.],\n",
       "       [3., 0., 2., 0.]], dtype=float32)>"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "simple_example = tf.constant([[1, 3, 1, 0, 0], [2, 2, 0, 0, 0]])\n",
    "tf.reduce_sum(tf.one_hot(simple_example, 4), axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first review has 2 times the word 0, 2 times the word 1, 0 times the word 2, and 1 time the word 3, so its bag-of-words representation is `[2, 2, 0, 1]`. Similarly, the second review has 3 times the word 0, 0 times the word 1, and so on. Let's wrap this logic in a small custom layer, and let's test it. We'll drop the counts for the word 0, since this corresponds to the `<pad>` token, which we don't care about."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [],
   "source": [
    "class BagOfWords(keras.layers.Layer):\n",
    "    def __init__(self, n_tokens, dtype=tf.int32, **kwargs):\n",
    "        super().__init__(dtype=dtype, **kwargs)\n",
    "        self.n_tokens = n_tokens\n",
    "    def call(self, inputs):\n",
    "        one_hot = tf.one_hot(inputs, self.n_tokens)\n",
    "        return tf.reduce_sum(one_hot, axis=1)[:, 1:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's test it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 3), dtype=float32, numpy=\n",
       "array([[2., 0., 1.],\n",
       "       [0., 2., 0.]], dtype=float32)>"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bag_of_words = BagOfWords(n_tokens=4)\n",
    "bag_of_words(simple_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It works fine! Now let's create another `BagOfWord` with the right vocabulary size for our training set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_tokens = max_vocabulary_size + n_oov_buckets + 1 # add 1 for <pad>\n",
    "bag_of_words = BagOfWords(n_tokens)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We're ready to train the model!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "782/782 [==============================] - 5s 5ms/step - loss: 0.5834 - accuracy: 0.6784 - val_loss: 0.5116 - val_accuracy: 0.7376\n",
      "Epoch 2/5\n",
      "782/782 [==============================] - 5s 5ms/step - loss: 0.4647 - accuracy: 0.7738 - val_loss: 0.4998 - val_accuracy: 0.7445\n",
      "Epoch 3/5\n",
      "782/782 [==============================] - 5s 5ms/step - loss: 0.4141 - accuracy: 0.8062 - val_loss: 0.5025 - val_accuracy: 0.7457\n",
      "Epoch 4/5\n",
      "782/782 [==============================] - 5s 5ms/step - loss: 0.3506 - accuracy: 0.8536 - val_loss: 0.5308 - val_accuracy: 0.7465\n",
      "Epoch 5/5\n",
      "782/782 [==============================] - 5s 5ms/step - loss: 0.2642 - accuracy: 0.9039 - val_loss: 0.5681 - val_accuracy: 0.7351\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd4f052da90>"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = keras.models.Sequential([\n",
    "    text_vectorization,\n",
    "    bag_of_words,\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(1, activation=\"sigmoid\"),\n",
    "])\n",
    "model.compile(loss=\"binary_crossentropy\", optimizer=\"nadam\",\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We get about 73.5% accuracy on the validation set after just the first epoch, but after that the model makes no significant progress. We will do better in Chapter 16. For now the point is just to perform efficient preprocessing using `tf.data` and Keras preprocessing layers."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### e.\n",
    "_Exercise: Add an `Embedding` layer and compute the mean embedding for each review, multiplied by the square root of the number of words (see Chapter 16). This rescaled mean embedding can then be passed to the rest of your model._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To compute the mean embedding for each review, and multiply it by the square root of the number of words in that review, we will need a little function. For each sentence, this function needs to compute $M \\times \\sqrt N$, where $M$ is the mean of all the word embeddings in the sentence (excluding padding tokens), and $N$ is the number of words in the sentence (also excluding padding tokens). We can rewrite $M$ as $\\dfrac{S}{N}$, where $S$ is the sum of all word embeddings (it does not matter whether or not we include the padding tokens in this sum, since their representation is a zero vector). So the function must return $M \\times \\sqrt N = \\dfrac{S}{N} \\times \\sqrt N = \\dfrac{S}{\\sqrt N \\times \\sqrt N} \\times \\sqrt N= \\dfrac{S}{\\sqrt N}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 3), dtype=float32, numpy=\n",
       "array([[3.535534 , 4.9497476, 2.1213205],\n",
       "       [6.       , 0.       , 0.       ]], dtype=float32)>"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def compute_mean_embedding(inputs):\n",
    "    not_pad = tf.math.count_nonzero(inputs, axis=-1)\n",
    "    n_words = tf.math.count_nonzero(not_pad, axis=-1, keepdims=True)    \n",
    "    sqrt_n_words = tf.math.sqrt(tf.cast(n_words, tf.float32))\n",
    "    return tf.reduce_sum(inputs, axis=1) / sqrt_n_words\n",
    "\n",
    "another_example = tf.constant([[[1., 2., 3.], [4., 5., 0.], [0., 0., 0.]],\n",
    "                               [[6., 0., 0.], [0., 0., 0.], [0., 0., 0.]]])\n",
    "compute_mean_embedding(another_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's check that this is correct. The first review contains 2 words (the last token is a zero vector, which represents the `<pad>` token). Let's compute the mean embedding for these 2 words, and multiply the result by the square root of 2:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(1, 3), dtype=float32, numpy=array([[3.535534 , 4.9497476, 2.1213202]], dtype=float32)>"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.reduce_mean(another_example[0:1, :2], axis=1) * tf.sqrt(2.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looks good! Now let's check the second review, which contains just one word (we ignore the two padding tokens):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(1, 3), dtype=float32, numpy=array([[6., 0., 0.]], dtype=float32)>"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.reduce_mean(another_example[1:2, :1], axis=1) * tf.sqrt(1.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Perfect. Now we're ready to train our final model. It's the same as before, except we replaced the `BagOfWords` layer with an `Embedding` layer followed by a `Lambda` layer that calls the `compute_mean_embedding` layer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [],
   "source": [
    "embedding_size = 20\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    text_vectorization,\n",
    "    keras.layers.Embedding(input_dim=n_tokens,\n",
    "                           output_dim=embedding_size,\n",
    "                           mask_zero=True), # <pad> tokens => zero vectors\n",
    "    keras.layers.Lambda(compute_mean_embedding),\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(1, activation=\"sigmoid\"),\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### f.\n",
    "_Exercise: Train the model and see what accuracy you get. Try to optimize your pipelines to make training as fast as possible._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "782/782 [==============================] - 3s 2ms/step - loss: 0.6053 - accuracy: 0.6568 - val_loss: 0.5151 - val_accuracy: 0.7382\n",
      "Epoch 2/5\n",
      "782/782 [==============================] - 2s 2ms/step - loss: 0.4922 - accuracy: 0.7569 - val_loss: 0.5081 - val_accuracy: 0.7466\n",
      "Epoch 3/5\n",
      "782/782 [==============================] - 2s 2ms/step - loss: 0.4827 - accuracy: 0.7628 - val_loss: 0.4978 - val_accuracy: 0.7473\n",
      "Epoch 4/5\n",
      "782/782 [==============================] - 2s 2ms/step - loss: 0.4761 - accuracy: 0.7656 - val_loss: 0.4959 - val_accuracy: 0.7513\n",
      "Epoch 5/5\n",
      "782/782 [==============================] - 3s 2ms/step - loss: 0.4737 - accuracy: 0.7687 - val_loss: 0.4978 - val_accuracy: 0.7471\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7f89584c3690>"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.compile(loss=\"binary_crossentropy\", optimizer=\"nadam\", metrics=[\"accuracy\"])\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model is not better using embeddings (but we will do better in Chapter 16). The pipeline looks fast enough (we optimized it earlier)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### g.\n",
    "_Exercise: Use TFDS to load the same dataset more easily: `tfds.load(\"imdb_reviews\")`._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow_datasets as tfds\n",
    "\n",
    "datasets = tfds.load(name=\"imdb_reviews\")\n",
    "train_set, test_set = datasets[\"train\"], datasets[\"test\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b\"This was an absolutely terrible movie. Don't be lured in by Christopher Walken or Michael Ironside. Both are great actors, but this must simply be their worst role in history. Even their great acting could not redeem this movie's ridiculous storyline. This movie is an early nineties US propaganda piece. The most pathetic scenes were those when the Columbian rebels were making their cases for revolutions. Maria Conchita Alonso appeared phony, and her pseudo-love affair with Walken was nothing but a pathetic emotional plug in a movie that was devoid of any real meaning. I am disappointed that there are movies like this, ruining actor's like Christopher Walken's good name. I could barely sit through it.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for example in train_set.take(1):\n",
    "    print(example[\"text\"])\n",
    "    print(example[\"label\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  },
  "nav_menu": {
   "height": "264px",
   "width": "369px"
  },
  "toc": {
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 6,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
